package com.ergou.easylive.admin.entity.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 权限更新DTO
 *
 * @author Er-Gou
 * @date 2025-01-27
 */
@Data
@Schema(description = "权限更新DTO")
public class SysPermissionUpdateDTO {

    @NotNull(message = "权限ID不能为空")
    @Schema(description = "权限ID", example = "1")
    private Integer id;

    @Schema(description = "权限名称", example = "用户管理")
    private String permissionName;

    @Schema(description = "路由标题", example = "用户管理")
    private String routeTitle;

    @Schema(description = "路由名称", example = "UserManagement")
    private String routeName;

    @Schema(description = "路由路径", example = "/user")
    private String routePath;

    @Schema(description = "组件路径", example = "/views/user/index")
    private String componentPath;

    @Schema(description = "菜单图标", example = "user")
    private String icon;

    @Schema(description = "激活路由", example = "/user/list")
    private String activeRoute;

    @Schema(description = "父级权限ID", example = "0")
    private Integer parentId;

    @Schema(description = "排序号", example = "1")
    private Integer sortOrder;

    @Schema(description = "权限等级(1:菜单,2:按钮,3:接口)", example = "1")
    private Integer permissionLevel;

    @Schema(description = "是否隐藏(0:否,1:是)", example = "0")
    private Integer isHidden;

    @Schema(description = "状态(0:停用, 1:正常)", example = "1")
    private Integer status;

    @Schema(description = "权限描述", example = "用户管理相关权限")
    private String description;
}
